1. Technology Field
The present invention relates to a block management method for a flash memory. More particularly, the present invention relates to a block management method for a multi level cell (MLC) NAND flash memory, a storage system and a controller using the same.
2. Description of Related Art
With a quick developing of digital camera, cell phone camera and MP3, demand of storage media by customers is increased greatly. Since a flash memory has the advantages of non-volatile, energy saving, small size and none mechanical structure etc., it is suitable for portable applications, and especially for portable battery-powered products. A memory card is a storage device applying an NAND flash memory as the storage media. Since the memory card has a small size and a large volume, and is easy to be carried, it has been widely used for storing important personal data. Therefore, the flash drive industry becomes a hot industry within the electronics industry recently.
Generally, the flash memory of a flash memory storage system is divided into a plurality of physical blocks, and the physical blocks are grouped into a data area and a spare area. The physical blocks grouped in the data area are used for storing valid data written based on writing commands, and the physical blocks of the spare area are used for substituting the physical blocks in the data area while executing the writing command. To be specific, when the flash memory storage system receives the writing command from a host for writing the physical block of the data area, the flash memory storage system selects a physical block from the spare area, and writes old valid data stored in the physical block of the data area to be written and new data into the physical block selected from the spare area, and further associates the physical block written with the new data to the data area. Moreover, the original physical block in the data area is erased and is associated to the spare area. To smoothly access the physical blocks storing data in an alternation approach, the flash memory storage system provides logical blocks to the host. Namely, alternation of the physical blocks is reflected by recording and renewing a mapping relation between the logical blocks and the physical blocks of the data area within a logical-physical mapping table, so that the host can only performs writing to the provided logical blocks, and the flash memory storage system then can read data from or write data into the mapped physical blocks according to the logical-physical mapping table.
However, with progress of fabrication process of the flash memory, while volume design of each physical block becomes greater, time spent on moving the old valid data is comparatively increased, so that the time needed for writing data is increased. Particularly, when a flash memory storage system is used as a storage medium for installing a computer operating system, the operating system may constantly access specific data (for example, a file allocation table (FAT)), so that improvement of accessing speed for such kind of data is quite important.